﻿using System;
using System.Linq.Expressions;
using System.Reflection;

namespace TestByWire.Factories
{
    internal interface IStubInstanceFactory
    {
        StubCreationResult CreateStubInstanceOf(Type typeToCreate, string instanceName);
        Expression<Action<object>> CreateStubAction(object instanceBeingStubbed, MethodInfo methodInfo);
        Expression<Action<object>> CreatePropertySetAction(object instanceBeingStubbed, MethodInfo setterMethod, object propertyValue);
    }
}
